#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

//int main()
//{
//	int a = 3;
//	int b = 5;
//	a = a + b;
//	b = a - b;
//	a = a - b;
//	printf("a = %d b = %d\n", a, b);
//	return 0;
//}

//int main()
//{
//	int a = 3;
//	int b = 5;
//	a = a ^ b;
//	b = a ^ b;
//	a = a ^ b;
//	printf("a = %d b = %d\n", a, b);
//	return 0;
//}

//int main()
//{
//	int n = 0;
//	int sum = 0;
//	scanf("%d", &n);
//	for (int i = 0; i < 32; i++)
//	{
//		if (n & 1 == 1)
//		{
//			sum++;
//		}
//		n = n >> 1;
//	}
//	printf("%d\n", sum);
//	return 0;
//}

//int main()
//{
//    int x = 0;
//    int y = 0;
//    int num1 = 0;
//    int num2 = 0;
//    int sum = 0;
//    scanf("%d %d", &x, &y);
//    //int count = x ^ y;
//    /*printf("%d\n", x & 1);
//    printf("%d\n", y & 1);*/
//
//    for (int i = 0; i < 32; i++)
//    {
//        num1 = x & 1;
//        num2 = y & 1;
//        if (num1 != num2)
//        {
//            sum++;
//        }
//        x = x >> 1;
//        y = y >> 1;
//    }
//    printf("%d\n", sum);
//    return 0;
//}

//int main()
//{
//	int n = 0;
//	int i = 0;
//	//int x = 0;
//	scanf("%d", &n);
//	int num1 = 0;
//	int num2 = 0;
//	for (i = 31; i >= 0; i--)
//	{
//		if ((n >> i) & 1 == 1)
//		{
//			num1++;
//			printf("%d", 1);
//		}
//		else
//		{
//			num2++;
//			printf("%d", 0);
//		}
//		//n = n >> 1;
//	}
//	
//	printf("\n");
//	printf("%d %d\n", num1, num2);
//	return 0;
//}

//#include <stdio.h>
//int main()
//{
//    int n = 0;
//    int flag = 1;
//    int i = 0;
//    int j = 0;
//    scanf("%d", &n);
//    int arr[10][10] = { 0 };
//    for (i = 0; i < n; i++)
//    {
//        for (j = 0; j < n; j++)
//        {
//            scanf("%d", &arr[i][j]);
//        }
//    }
//    for (i = 1; i < n; i++)
//    {
//        for (j = 0; j < i; j++)
//        {
//            if (arr[i][j] != 0)
//            {
//                printf("NO\n");
//                flag = 0;
//                break;
//            }
//        }
//        if (flag == 0)
//        {
//            break;
//        }
//    }
//    if (flag)
//    {
//        printf("YES\n");
//    }
//    return 0;
//}

//#include <stdio.h>

//int main()
//{
//    int n = 0;
//    int num = 0;
//    scanf("%d", &n);
//    int arr[50] = { 0 };
//    for (int i = 0; i < n; i++)
//    {
//        scanf("%d", &arr[i]);
//    }
//    scanf("%d", &num);
//    for (int i = 0; i < n; i++)
//    {
//        if (arr[i] == num)
//        {
//            continue;
//        }
//        else {
//            printf("%d ", arr[i]);
//        }
//    }
//    printf("\n");
//    return 0;
//}

//#include<stdio.h>
int main()
{
    long long n = 0;
    long long m = 0;
    long long t = 0;
    long long sum = 0;
    scanf("%lld %lld", &m, &n);
    if (m > n)
    {
        t = m;
    }
    else
    {
        t = n;
    }
    for (int i = t; ; i++)
    {
        if (i % m == 0 && i % n == 0)
        {
            sum = m * n / i;
            sum += i;
            break;
        }
    }
    printf("%lld", sum);
    return 0;
}